'''
哦，想起来了，之前是在拼正方形的时候，才用到那个先排序，再一个个寻找的方法的。
这次因为python太慢，拼三角形的时候就用到了2333333
那直接拿三角形的代码改就好了！（啊这，然后发现昨天的代码是错的。。。）
然后最近发现有个东西叫yield，感觉挺好玩的哈哈哈哈
我就试着用它做了下题，然后过了，哈哈哈，我也讲不懂，有兴趣的自己去学。
我一会儿再补一个不用yield的版本。

def dfs(a, i):
    if f or a > sm: return
    if a == sm: yield
    if i == n: return
    if p_[i]:
        p_[i] = False
        yield from dfs(a + p[i], i + 1)
        p_[i] = True
    yield from dfs(a, i + 1)

n = int(input())
p = [*map(int, input().split())]
p_ = [True for i in range(n)]
sm = sum(p)
if sm % 4: print("No")
else:
    sm//=4
    st = []
    f = False
    for i in dfs(0, 0):
        for j in dfs(0, 0):
            for k in dfs(0, 0): f = True
    if f:
        print("Yes")
    else:
        print("No")
'''

def dfs(a, i, g):
    global f
    if f or a > sm: return
    if g == 3: f = True
    if a == sm: dfs(0, 0, g + 1)
    if i == n: return
    if p_[i]:
        p_[i] = False
        dfs(a + p[i], i + 1, g)
        p_[i] = True
    dfs(a, i + 1, g)

n = int(input())
p = [*map(int, input().split())]
p_ = [True for i in range(n)]
sm = sum(p)
if sm % 4: print("No")
else:
    sm//=4
    st = []
    f = False
    # 不用yield其实写起来更简单更好理解233333
    # 就是每次凑出一个边，然后在这个基础上继续凑下一个边
    # 不行的话就重新凑。
    dfs(0, 0, 0)
    if f:
        print("Yes")
    else:
        print("No")
# -------------------------------------------------------------------------------

# 比赛环境为python3.8.6版本自带的IDLE，最好早点熟悉一下。。这个东西的提示时有时无

# 菜单栏最右边的Help的Python Docs 比赛时候也可以看，不过建议还是提前多了解了解，

# 比赛的时候至少知道在文档找什么能用的上。

# IDLE是下载Python时自带的，在按住win+s搜索IDLE就能搜到了。

# 然后点左上角的File可以创建新文件，然后按F5可以运行。
